<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>WiFi Interface</title>
<title>CMSIS-Driver: WiFi Interface</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="printComponentTabs.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="projectlogo"><img alt="Logo" src="CMSIS_Logo_Final.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-Driver
   &#160;<span id="projectnumber">Version 2.7.1</span>
   </div>
   <div id="projectbrief">Peripheral Interface for Middleware and Application Code</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <script type="text/javascript">
		<!--
		writeComponentTabs.call(this);
		//-->
      </script>
	  </ul>
</div>
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__wifi__interface__gr.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#groups">Content</a> &#124;
<a href="#nested-classes">Data Structures</a>  </div>
  <div class="headertitle">
<div class="title">WiFi Interface</div>  </div>
</div><!--header-->
<div class="contents">

<p>Driver API for WiFi (Driver_WiFi.h)  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="groups"></a>
Content</h2></td></tr>
<tr class="memitem:group__wifi__control__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__control__gr.html">WiFi Control</a></td></tr>
<tr class="memdesc:group__wifi__control__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">Control functions for the WiFi module. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__wifi__management__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__management__gr.html">WiFi Management</a></td></tr>
<tr class="memdesc:group__wifi__management__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configure and manage the connection to a WiFi access point (AP) or configure and manage the access point (AP). <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__wifi__bypass__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__bypass__gr.html">WiFi Bypass Mode</a></td></tr>
<tr class="memdesc:group__wifi__bypass__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transfer Ethernet frames by WiFi module. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:group__wifi__socket__gr"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__socket__gr.html">WiFi Socket</a></td></tr>
<tr class="memdesc:group__wifi__socket__gr"><td class="mdescLeft">&#160;</td><td class="mdescRight">Socket interface to IP stack running on WiFi module. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:structARM__DRIVER__WIFI"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a></td></tr>
<tr class="memdesc:structARM__DRIVER__WIFI"><td class="mdescLeft">&#160;</td><td class="mdescRight">Access structure of the WiFi Driver.  <a href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">More...</a><br/></td></tr>
<tr class="separator:structARM__DRIVER__WIFI"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Description</h2>
<p>Driver API for WiFi (Driver_WiFi.h) </p>
<p>Wi-Fi is technology for radio wireless local area networking of devices. Wi-Fi compatible devices typically connect to the Internet via a WLAN and a wireless access point (AP) also called hotspot.</p>
<p>Wikipedia offers more information about the <a href="http://en.wikipedia.org/wiki/Ethernet" target="_blank"><b>WiFi</b></a>.</p>
<p><b>Driver Block Diagram</b></p>
<div class="image">
<img src="WiFi.png" alt="WiFi.png"/>
<div class="caption">
Block Diagram of the WiFi interface</div></div>
<p> <b>WiFi API</b></p>
<p>The following header files define the Application Programming Interface (API) for the WiFi interface:</p>
<ul>
<li><b>Driver_WiFi.h</b> : Driver API for WiFi</li>
</ul>
<p>The CMSIS-Driver WiFi provides access to the following interfaces:</p>
<ul>
<li><a class="el" href="group__wifi__control__gr.html">Control interface</a>: setup and control the WiFi module.</li>
<li><a class="el" href="group__wifi__management__gr.html">Management interface</a>: allows you to configure and manage the connection to the WiFi access point (AP) or configure and manage the access point (AP).</li>
<li><a class="el" href="group__wifi__socket__gr.html">Socket interface</a>: provides the interface to an IP stack that is running on the WiFi module. This IP stack handles data communication.</li>
<li><a class="el" href="group__wifi__bypass__gr.html">Bypass interface</a>: is an optional interface and enables the transmission of Ethernet frames with the WiFi module. Using this interface requires the IP stack running on the microcontroller.</li>
</ul>
<p>The WiFi interface usually requires CMSIS-RTOS features (i.e. mutex) and is often implemented with a peripheral device that is connected to the system using the SPI or UART interface. However, there are also some microcontroller devices with WiFi interface on the chip.</p>
<p>The implementation of the WiFi CMSIS-Driver is therefore generally provided as a separate software pack. It is often implemented as wrapper to the SDK (Software Development Kit) of the WiFi chipset.</p>
<p><b>Driver Functions</b></p>
<p>The driver functions are published in the access struct as explained in <a class="el" href="theoryOperation.html#DriverFunctions">Common Driver Functions</a></p>
<ul>
<li><a class="el" href="group__wifi__interface__gr.html#structARM__DRIVER__WIFI">ARM_DRIVER_WIFI</a> : access struct for WiFi driver functions</li>
</ul>
<p><b>Example Code</b> </p>
<hr/><h2 class="groupheader">Data Structure Documentation</h2>
<a name="structARM__DRIVER__WIFI" id="structARM__DRIVER__WIFI"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct ARM_DRIVER_WIFI</td>
        </tr>
      </table>
</div><div class="memdoc">
<div class="textblock"><p>Access structure of the WiFi Driver. </p>
<p>The functions of the WiFi driver are accessed by function pointers exposed by this structure. Refer to <a class="el" href="theoryOperation.html#DriverFunctions">Common Driver Functions</a> for overview information.</p>
<p>Each instance of a WiFi interface provides such an access structure. The instance is identified by a postfix number in the symbol name of the access structure, for example:</p>
<ul>
<li><b>Driver_WiFi0</b> is the name of the access struct of the first instance (no. <span class="XML-Token">0</span>).</li>
<li><b>Driver_WiFi1</b> is the name of the access struct of the second instance (no. <span class="XML-Token">1</span>).</li>
</ul>
<p>A middleware configuration setting allows connecting the middleware to a specific driver instance <b>Driver_WiFi<em>n</em></b>. The default is <span class="XML-Token">0</span>, which connects a middleware to the first instance of a driver. </p>
</div><table class="memberdecls">
<tr><td colspan="2"><h3>Data Fields</h3></td></tr>
<tr class="memitem:a8834b281da48583845c044a81566c1b3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a8834b281da48583845c044a81566c1b3">GetVersion</a> )(void)</td></tr>
<tr class="separator:a8834b281da48583845c044a81566c1b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ced805656e067b5635f1af2292b69e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a1ced805656e067b5635f1af2292b69e1">GetCapabilities</a> )(void)</td></tr>
<tr class="separator:a1ced805656e067b5635f1af2292b69e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99e597db8e61d0ff834561cb710e61ad"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a99e597db8e61d0ff834561cb710e61ad">Initialize</a> )(<a class="el" href="group__wifi__control__gr.html#gac0f04bbdd431c87a680626154c3e0a41">ARM_WIFI_SignalEvent_t</a> cb_event)</td></tr>
<tr class="separator:a99e597db8e61d0ff834561cb710e61ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcf20681a1402869ecb5c6447fada17b"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#adcf20681a1402869ecb5c6447fada17b">Uninitialize</a> )(void)</td></tr>
<tr class="separator:adcf20681a1402869ecb5c6447fada17b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba8f1c8019af95ffe19c32403e3240ef"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#aba8f1c8019af95ffe19c32403e3240ef">PowerControl</a> )(<a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a> state)</td></tr>
<tr class="separator:aba8f1c8019af95ffe19c32403e3240ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa78e745bbf8257a3438700e4e6a8d222"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#aa78e745bbf8257a3438700e4e6a8d222">GetModuleInfo</a> )(char *module_info, uint32_t max_len)</td></tr>
<tr class="separator:aa78e745bbf8257a3438700e4e6a8d222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b5e1c7fcea96ff13f6fd16d57c8b68f"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a6b5e1c7fcea96ff13f6fd16d57c8b68f">SetOption</a> )(uint32_t interface, uint32_t option, const void *data, uint32_t len)</td></tr>
<tr class="separator:a6b5e1c7fcea96ff13f6fd16d57c8b68f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af264a580d36c33a649b64be845458b03"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#af264a580d36c33a649b64be845458b03">GetOption</a> )(uint32_t interface, uint32_t option, void *data, uint32_t *len)</td></tr>
<tr class="separator:af264a580d36c33a649b64be845458b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51d027ef7046c413372103aa952772fb"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a51d027ef7046c413372103aa952772fb">Scan</a> )(<a class="el" href="group__wifi__management__gr.html#structARM__WIFI__SCAN__INFO__t">ARM_WIFI_SCAN_INFO_t</a> scan_info[], uint32_t max_num)</td></tr>
<tr class="separator:a51d027ef7046c413372103aa952772fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a444ea7bda2c45eab34050d2a895baeec"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a444ea7bda2c45eab34050d2a895baeec">Activate</a> )(uint32_t interface, const <a class="el" href="group__wifi__management__gr.html#structARM__WIFI__CONFIG__t">ARM_WIFI_CONFIG_t</a> *config)</td></tr>
<tr class="separator:a444ea7bda2c45eab34050d2a895baeec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9a38e69c7b7face914560e872378ed1"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#ae9a38e69c7b7face914560e872378ed1">Deactivate</a> )(uint32_t interface)</td></tr>
<tr class="separator:ae9a38e69c7b7face914560e872378ed1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9771e89a155d316e0b44d3ee89081d3"><td class="memItemLeft" align="right" valign="top">uint32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#ab9771e89a155d316e0b44d3ee89081d3">IsConnected</a> )(void)</td></tr>
<tr class="separator:ab9771e89a155d316e0b44d3ee89081d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac17eb39c11b7797b88a1f6e0f8cc772d"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#ac17eb39c11b7797b88a1f6e0f8cc772d">GetNetInfo</a> )(<a class="el" href="group__wifi__management__gr.html#structARM__WIFI__NET__INFO__t">ARM_WIFI_NET_INFO_t</a> *net_info)</td></tr>
<tr class="separator:ac17eb39c11b7797b88a1f6e0f8cc772d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a18c6762aa46cec65b65135eaeadebf23"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a18c6762aa46cec65b65135eaeadebf23">BypassControl</a> )(uint32_t interface, uint32_t mode)</td></tr>
<tr class="separator:a18c6762aa46cec65b65135eaeadebf23"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2648d7e0d1c10c48923d8d20d99311ab"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a2648d7e0d1c10c48923d8d20d99311ab">EthSendFrame</a> )(uint32_t interface, const uint8_t *frame, uint32_t len)</td></tr>
<tr class="separator:a2648d7e0d1c10c48923d8d20d99311ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a544ca40b7157efce5000cd83aa92f8a0"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a544ca40b7157efce5000cd83aa92f8a0">EthReadFrame</a> )(uint32_t interface, uint8_t *frame, uint32_t len)</td></tr>
<tr class="separator:a544ca40b7157efce5000cd83aa92f8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7ecc54209ce3725037cb5c9629151cf"><td class="memItemLeft" align="right" valign="top">uint32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#af7ecc54209ce3725037cb5c9629151cf">EthGetRxFrameSize</a> )(uint32_t interface)</td></tr>
<tr class="separator:af7ecc54209ce3725037cb5c9629151cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa26f0cefe99161484741977a5443e92c"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#aa26f0cefe99161484741977a5443e92c">SocketCreate</a> )(int32_t af, int32_t type, int32_t protocol)</td></tr>
<tr class="separator:aa26f0cefe99161484741977a5443e92c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcbc0c2bb3639584521ffeaaffc5a475"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#afcbc0c2bb3639584521ffeaaffc5a475">SocketBind</a> )(int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port)</td></tr>
<tr class="separator:afcbc0c2bb3639584521ffeaaffc5a475"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a628706c754e1793ec864453a5b517d5c"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a628706c754e1793ec864453a5b517d5c">SocketListen</a> )(int32_t socket, int32_t backlog)</td></tr>
<tr class="separator:a628706c754e1793ec864453a5b517d5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66bb43c1e713efe7758b6e100c13ed69"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a66bb43c1e713efe7758b6e100c13ed69">SocketAccept</a> )(int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td></tr>
<tr class="separator:a66bb43c1e713efe7758b6e100c13ed69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45cbca28d9866f2ec2ad9df830787dd7"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a45cbca28d9866f2ec2ad9df830787dd7">SocketConnect</a> )(int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port)</td></tr>
<tr class="separator:a45cbca28d9866f2ec2ad9df830787dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaad6683992e76e3dd9a16eb6b7d43cf4"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#aaad6683992e76e3dd9a16eb6b7d43cf4">SocketRecv</a> )(int32_t socket, void *buf, uint32_t len)</td></tr>
<tr class="separator:aaad6683992e76e3dd9a16eb6b7d43cf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4343cf48bbcfb2101a422d90c34f84e6"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a4343cf48bbcfb2101a422d90c34f84e6">SocketRecvFrom</a> )(int32_t socket, void *buf, uint32_t len, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td></tr>
<tr class="separator:a4343cf48bbcfb2101a422d90c34f84e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ff47d391831d547d310dd66f22c2942"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a7ff47d391831d547d310dd66f22c2942">SocketSend</a> )(int32_t socket, const void *buf, uint32_t len)</td></tr>
<tr class="separator:a7ff47d391831d547d310dd66f22c2942"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a248a293faea6f6e1cb781b8153e468fa"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a248a293faea6f6e1cb781b8153e468fa">SocketSendTo</a> )(int32_t socket, const void *buf, uint32_t len, const uint8_t *ip, uint32_t ip_len, uint16_t port)</td></tr>
<tr class="separator:a248a293faea6f6e1cb781b8153e468fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7c3e0211c87bf99e9c42b17a2249f50"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#ab7c3e0211c87bf99e9c42b17a2249f50">SocketGetSockName</a> )(int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td></tr>
<tr class="separator:ab7c3e0211c87bf99e9c42b17a2249f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac45fbc58fd00742cbe712bf26d857359"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#ac45fbc58fd00742cbe712bf26d857359">SocketGetPeerName</a> )(int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td></tr>
<tr class="separator:ac45fbc58fd00742cbe712bf26d857359"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4771324fb6f39fb2837e98d9f0ed48ed"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a4771324fb6f39fb2837e98d9f0ed48ed">SocketGetOpt</a> )(int32_t socket, int32_t opt_id, void *opt_val, uint32_t *opt_len)</td></tr>
<tr class="separator:a4771324fb6f39fb2837e98d9f0ed48ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7019060d0869a7dfae8e31aedb46815d"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a7019060d0869a7dfae8e31aedb46815d">SocketSetOpt</a> )(int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len)</td></tr>
<tr class="separator:a7019060d0869a7dfae8e31aedb46815d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a471a1be6d9adbccb83ca1f268643031c"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a471a1be6d9adbccb83ca1f268643031c">SocketClose</a> )(int32_t socket)</td></tr>
<tr class="separator:a471a1be6d9adbccb83ca1f268643031c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62b2512cbaef03d26eb9c1e3004c3364"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#a62b2512cbaef03d26eb9c1e3004c3364">SocketGetHostByName</a> )(const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len)</td></tr>
<tr class="separator:a62b2512cbaef03d26eb9c1e3004c3364"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8f218e434e2f327335b16cdb4f21f65"><td class="memItemLeft" align="right" valign="top">int32_t(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__wifi__interface__gr.html#ad8f218e434e2f327335b16cdb4f21f65">Ping</a> )(const uint8_t *ip, uint32_t ip_len)</td></tr>
<tr class="separator:ad8f218e434e2f327335b16cdb4f21f65"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h4 class="groupheader">Field Documentation</h4>
<a class="anchor" id="a8834b281da48583845c044a81566c1b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__common__drv__gr.html#structARM__DRIVER__VERSION">ARM_DRIVER_VERSION</a>(* GetVersion)(void)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a1ced805656e067b5635f1af2292b69e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__wifi__control__gr.html#structARM__WIFI__CAPABILITIES">ARM_WIFI_CAPABILITIES</a>(* GetCapabilities)(void)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a99e597db8e61d0ff834561cb710e61ad"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* Initialize)(<a class="el" href="group__wifi__control__gr.html#gac0f04bbdd431c87a680626154c3e0a41">ARM_WIFI_SignalEvent_t</a> cb_event)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="adcf20681a1402869ecb5c6447fada17b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* Uninitialize)(void)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aba8f1c8019af95ffe19c32403e3240ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* PowerControl)(<a class="el" href="group__common__drv__gr.html#ga47d6d7c31f88f3b8ae4aaf9d8444afa5">ARM_POWER_STATE</a> state)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa78e745bbf8257a3438700e4e6a8d222"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* GetModuleInfo)(char *module_info, uint32_t max_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a6b5e1c7fcea96ff13f6fd16d57c8b68f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SetOption)(uint32_t interface, uint32_t option, const void *data, uint32_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af264a580d36c33a649b64be845458b03"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* GetOption)(uint32_t interface, uint32_t option, void *data, uint32_t *len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a51d027ef7046c413372103aa952772fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* Scan)(<a class="el" href="group__wifi__management__gr.html#structARM__WIFI__SCAN__INFO__t">ARM_WIFI_SCAN_INFO_t</a> scan_info[], uint32_t max_num)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a444ea7bda2c45eab34050d2a895baeec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* Activate)(uint32_t interface, const <a class="el" href="group__wifi__management__gr.html#structARM__WIFI__CONFIG__t">ARM_WIFI_CONFIG_t</a> *config)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae9a38e69c7b7face914560e872378ed1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* Deactivate)(uint32_t interface)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab9771e89a155d316e0b44d3ee89081d3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t(* IsConnected)(void)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac17eb39c11b7797b88a1f6e0f8cc772d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* GetNetInfo)(<a class="el" href="group__wifi__management__gr.html#structARM__WIFI__NET__INFO__t">ARM_WIFI_NET_INFO_t</a> *net_info)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a18c6762aa46cec65b65135eaeadebf23"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* BypassControl)(uint32_t interface, uint32_t mode)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a2648d7e0d1c10c48923d8d20d99311ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* EthSendFrame)(uint32_t interface, const uint8_t *frame, uint32_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a544ca40b7157efce5000cd83aa92f8a0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* EthReadFrame)(uint32_t interface, uint8_t *frame, uint32_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af7ecc54209ce3725037cb5c9629151cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t(* EthGetRxFrameSize)(uint32_t interface)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aa26f0cefe99161484741977a5443e92c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketCreate)(int32_t af, int32_t type, int32_t protocol)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afcbc0c2bb3639584521ffeaaffc5a475"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketBind)(int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a628706c754e1793ec864453a5b517d5c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketListen)(int32_t socket, int32_t backlog)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a66bb43c1e713efe7758b6e100c13ed69"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketAccept)(int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a45cbca28d9866f2ec2ad9df830787dd7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketConnect)(int32_t socket, const uint8_t *ip, uint32_t ip_len, uint16_t port)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aaad6683992e76e3dd9a16eb6b7d43cf4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketRecv)(int32_t socket, void *buf, uint32_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4343cf48bbcfb2101a422d90c34f84e6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketRecvFrom)(int32_t socket, void *buf, uint32_t len, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7ff47d391831d547d310dd66f22c2942"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketSend)(int32_t socket, const void *buf, uint32_t len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a248a293faea6f6e1cb781b8153e468fa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketSendTo)(int32_t socket, const void *buf, uint32_t len, const uint8_t *ip, uint32_t ip_len, uint16_t port)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ab7c3e0211c87bf99e9c42b17a2249f50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketGetSockName)(int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac45fbc58fd00742cbe712bf26d857359"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketGetPeerName)(int32_t socket, uint8_t *ip, uint32_t *ip_len, uint16_t *port)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a4771324fb6f39fb2837e98d9f0ed48ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketGetOpt)(int32_t socket, int32_t opt_id, void *opt_val, uint32_t *opt_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7019060d0869a7dfae8e31aedb46815d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketSetOpt)(int32_t socket, int32_t opt_id, const void *opt_val, uint32_t opt_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a471a1be6d9adbccb83ca1f268643031c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketClose)(int32_t socket)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a62b2512cbaef03d26eb9c1e3004c3364"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* SocketGetHostByName)(const char *name, int32_t af, uint8_t *ip, uint32_t *ip_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ad8f218e434e2f327335b16cdb4f21f65"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t(* Ping)(const uint8_t *ip, uint32_t ip_len)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated on Wed Jul 10 2019 15:20:32 for CMSIS-Driver Version 2.7.1 by Arm Ltd. All rights reserved.
	<!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.6 
	-->
	</li>
  </ul>
</div>
</body>
</html>
